package com.syh.jn.scm.dto.supplier.stock;

import lombok.Data;
import javax.validation.constraints.NotEmpty;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 新增其他出库
 */
@Data
public class StockOtherOutBillSto implements Serializable {
  /**
   * 数据归属公司ID
   */
  @NotNull(message = "数据归属公司ID不能为空")
  private Long businessEntityId;
  /**
   * 录单日期
   */
  private Long inputDateTimestamp;
  /**
   * 仓库id
   */
  @NotNull(message = "出货仓库不能为空")
  private Long storehouseId;
  /**
   * 备注
   */
  private String remark;
  /**
   * 录单人员id
   */
  @NotNull(message = "录单人id不能为空")
  private Long operatorId;
  /**
   * 出库单项
   */
  @NotEmpty(message = "出库单项不能为空")
  private List<StockOtherOutBillItemSto> items;

  @Data
  public class StockOtherOutBillItemSto implements Serializable {
    /**
     * 商品id
     */
    @NotNull(message = "商品不能为空")
    private Long goodsId;
    /**
     * 出库数量
     */
    @NotNull(message = "出库数量不能为空")
    @DecimalMin("1")
    private BigDecimal quantity;
    /**
     * 商品单价
     */
    @NotNull(message = "单价不能为空")
    @DecimalMin("0")
    private BigDecimal price;
    /**
     * 备注
     */
    private String remark;
  }
}
